for clients C sends FIFO
forfrom j to i via (S[j,i],codes)
forreceives at i via (R[i],decodes)
== i:C.
== f:{e:E| R(i,e)} {e:E| j:C. (S(j,i,e))}
== (e.j:C. (S(j,i,e)) fe.R(i,e)
== & (e:{e:E| R(i,e)} , j:{j:C| S(j,i,f(e))} .
== & (decodes(i,e,(state when e)) = codes(j,i,f(e),(state when f(e))))
== & (e, e':{e:E| R(i,e)} , j:C.
== & ((S(j,i,f(e))) (S(j,i,f(e'))) f(e) c f(e') e c e'))